package com.peas.platform.module.icims.budget.apply.adapter.repository.po;

import java.util.*;
import java.math.*;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.peas.platform.framework.mybatisplus.po.BasePo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.ibatis.type.JdbcType;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

// 二上预算编制政府采购
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "`tbl_budget_two_purchase`")
public class BudgetTwoPurchasePo extends BasePo {

    //二上预算表ID
    //（二上预算表）外键
    @TableField(value = "`budget_two_id`", jdbcType = JdbcType.BIGINT)
    private Long budgetTwoId;

    //采购项目
    @Size(max = 200, message = "采购项目不能超过200个字符")
    @TableField(value = "`purchase_item`", jdbcType = JdbcType.VARCHAR)
    private String purchaseItem;

    //采购品目
    @Size(max = 200, message = "采购品目不能超过200个字符")
    @TableField(value = "`purchase_kind`", jdbcType = JdbcType.VARCHAR)
    private String purchaseKind;

    //采购需求概况
    @Size(max = 200, message = "采购需求概况不能超过200个字符")
    @TableField(value = "`purchase_require`", jdbcType = JdbcType.VARCHAR)
    private String purchaseRequire;

    //预计采购时间
    @TableField(value = "`purchase_date`", jdbcType = JdbcType.TIMESTAMP)
    private Date purchaseDate;

    //资金性质
    @Size(max = 200, message = "资金性质不能超过200个字符")
    @TableField(value = "`purchase_attr`", jdbcType = JdbcType.VARCHAR)
    private String purchaseAttr;

    //采购金额
    @TableField(value = "`purchase_fund`", jdbcType = JdbcType.DECIMAL)
    private BigDecimal purchaseFund;

    //单价
    @TableField(value = "`purchase_price`", jdbcType = JdbcType.DECIMAL)
    private BigDecimal purchasePrice;

    //采购数量
    @TableField(value = "`purchase_num`", jdbcType = JdbcType.DECIMAL)
    private BigDecimal purchaseNum;

    //计量单位
    @Size(max = 20, message = "计量单位不能超过20个字符")
    @TableField(value = "`purchase_unit`", jdbcType = JdbcType.VARCHAR)
    private String purchaseUnit;

    //专项资金名称
    @Size(max = 200, message = "专项资金名称不能超过200个字符")
    @TableField(value = "`fund_name`", jdbcType = JdbcType.VARCHAR)
    private String fundName;

    //资金来源
    @Size(max = 200, message = "资金来源不能超过200个字符")
    @TableField(value = "`fund_source`", jdbcType = JdbcType.VARCHAR)
    private String fundSource;

}
